# 导入Django的admin模块，用于创建和管理后台管理界面
from django.contrib import admin
# 从当前目录下的models.py文件导入Category和Product模型
from .models import Category, Product

# 定义一个CategoryAdmin类，继承自admin.ModelAdmin，用于自定义Category模型在后台管理界面的显示和行为
class CategoryAdmin(admin.ModelAdmin):
    # 设置在后台管理界面中显示的模型字段，这里显示'name'和'slug'字段
    list_display = ['name', 'slug']
    # 设置预填充字段，这里指定'slug'字段将根据'name'字段自动生成
    prepopulated_fields = {'slug': ('name',)}
# 将Category模型和CategoryAdmin类注册到Django的admin站点，使其在后台管理界面可见并使用自定义配置
admin.site.register(Category, CategoryAdmin)


# 定义一个ProductAdmin类，继承自admin.ModelAdmin，用于自定义Product模型在后台管理界面的显示和行为
class ProductAdmin(admin.ModelAdmin):
    # 设置在后台管理界面中显示的模型字段，包括'name', 'slug', 'category', 'price', 'stock', 'available', 'created', 'updated'
    list_display = ['name', 'slug', 'category', 'price', 'stock', 'available', 'created', 'updated']
    # 设置过滤器，允许在后台管理界面中按'available', 'created', 'updated', 'category'字段进行过滤
    list_filter = ['available', 'created', 'updated', 'category']
    # 设置可编辑字段，这里允许直接在列表视图中编辑'price', 'stock', 'available'字段
    list_editable = ['price', 'stock', 'available']
    # 设置预填充字段，这里指定'slug'字段将根据'name'字段自动生成
    prepopulated_fields = {'slug': ('name',)}
# 将Product模型和ProductAdmin类注册到Django的admin站点，使其在后台管理界面可见并使用自定义配置
admin.site.register(Product, ProductAdmin)
